#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time          : 2024/5/28 9:27
# File          : models.py
# @Author       : MingTai
# @Department   : automation_qa

# 创建用户表
from app.business.mysql_init.init_sql_alchemy import db

"""
数据库多配置使用，根据flask启动时自动加载数据库链接信息，并且可以在flask配置时，选择对应的数据库连接池。
首选，有问题问GPT
"""


class UserDB(db.Model):
    __tablename__ = "user"
    __bind_key__ = "db_01"  # 多数据库配置
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(16), unique=True)
    email = db.Column(db.String(32), unique=True)
    password = db.Column(db.String(16))
    role_id = db.Column(db.Integer)

    def to_dict(self):
        """将UserDB实例的信息转换为字典格式，便于进一步的JSON化。"""
        user_data = {
            'id': self.id,
            'name': self.name,
            'email': self.email,
            'password': self.password,  # 注意安全性
            'role_id': self.role_id
        }
        return user_data
